CC=gcc
CFLAGS=-g
compiler:main.o util.o scan.o parse.o analyze.o symtab.o code.o cgen.o
	$(CC) $(CFLAGS) -o compiler main.o util.o scan.o parse.o analyze.o symtab.o cgen.o code.o
main.o:main.c globals.h util.h scan.h parse.h analyze.h cgen.h
	$(CC) $(CFLAGS) -c -o main.o main.c
util.o:util.c globals.h util.h
	$(CC) $(CFLAGS) -c -o util.o util.c
scan.o:scan.c globals.h util.h scan.h
	$(CC) $(CFLAGS) -c -o scan.o scan.c
parse.o:parse.c globals.h util.h scan.h parse.h
	$(CC) $(CFLAGS) -c -o parse.o parse.c
analyze.o:analyze.c analyze.h symtab.h globals.h
	$(CC) $(CFLAGS) -c -o analyze.o analyze.c
symtab.o:symtab.c symtab.h
	$(CC) $(CFLAGS) -c -o symtab.o symtab.c
code.o:code.c globals.h code.h
	$(CC) $(CFLAGS) -c -o code.o code.c
cgen.o:cgen.c globals.h symtab.h code.h cgen.h
	$(CC) $(CFLAGS) -c -o cgen.o cgen.c